AIC average by age group

Run regressions between model parameters and age

## 
## Call:
## lm(formula = LL ~ age, data = model_params)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -154.578  -58.515    9.859   54.104  200.722 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -215.354     19.598  -10.99   <2e-16 ***
## age            1.591      1.170    1.36    0.176    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 72.28 on 148 degrees of freedom
## Multiple R-squared:  0.01235,    Adjusted R-squared:  0.005673 
## F-statistic:  1.85 on 1 and 148 DF,  p-value: 0.1758
## 
## Call:
## lm(formula = alphaPosChoice ~ age, data = model_params)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -0.3090 -0.1999 -0.0917  0.1265  0.6863 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.320756   0.074344   4.314 2.91e-05 ***
## age         -0.001369   0.004438  -0.308    0.758    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2742 on 148 degrees of freedom
## Multiple R-squared:  0.0006424,  Adjusted R-squared:  -0.00611 
## F-statistic: 0.09514 on 1 and 148 DF,  p-value: 0.7582
## 
## Call:
## lm(formula = alphaNegChoice ~ age, data = model_params)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.20679 -0.12581 -0.06585  0.00345  0.81559 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.304868   0.061239   4.978 1.76e-06 ***
## age         -0.011916   0.003656  -3.260  0.00138 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2259 on 148 degrees of freedom
## Multiple R-squared:  0.06698,    Adjusted R-squared:  0.06068 
## F-statistic: 10.62 on 1 and 148 DF,  p-value: 0.001385
## 
## Call:
## lm(formula = alphaPosComp ~ age, data = model_params)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.23170 -0.17898 -0.12042  0.05715  0.87437 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.300954   0.073408   4.100  6.8e-05 ***
## age         -0.007638   0.004382  -1.743   0.0834 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2707 on 148 degrees of freedom
## Multiple R-squared:  0.02012,    Adjusted R-squared:  0.01349 
## F-statistic: 3.038 on 1 and 148 DF,  p-value: 0.08341
## 
## Call:
## lm(formula = alphaNegComp ~ age, data = model_params)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -0.2432 -0.2170 -0.1918  0.2049  0.7903 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)   
## (Intercept)  0.270545   0.088504   3.057  0.00265 **
## age         -0.003096   0.005284  -0.586  0.55877   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.3264 on 148 degrees of freedom
## Multiple R-squared:  0.002315,   Adjusted R-squared:  -0.004426 
## F-statistic: 0.3434 on 1 and 148 DF,  p-value: 0.5588
## 
## Call:
## lm(formula = betaAgency ~ age, data = model_params)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -9.158 -4.012 -1.747  2.933 20.338 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)   
## (Intercept)  3.53843    1.51875   2.330  0.02117 * 
## age          0.24547    0.09067   2.707  0.00758 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.601 on 148 degrees of freedom
## Multiple R-squared:  0.04719,    Adjusted R-squared:  0.04075 
## F-statistic:  7.33 on 1 and 148 DF,  p-value: 0.007579
## 
## Call:
## lm(formula = betaMachine ~ age, data = model_params)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -7.833 -3.151 -1.048  1.911 22.856 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   4.9326     1.3383   3.686 0.000319 ***
## age           0.1402     0.0799   1.755 0.081273 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.936 on 148 degrees of freedom
## Multiple R-squared:  0.02039,    Adjusted R-squared:  0.01378 
## F-statistic: 3.081 on 1 and 148 DF,  p-value: 0.08127
## 
## Call:
## lm(formula = agencyBonus ~ age, data = model_params)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.72271 -0.30021 -0.19730  0.08013  2.37437 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.72607    0.18718   3.879 0.000157 ***
## age         -0.01312    0.01117  -1.174 0.242346    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.6904 on 148 degrees of freedom
## Multiple R-squared:  0.009224,   Adjusted R-squared:  0.00253 
## F-statistic: 1.378 on 1 and 148 DF,  p-value: 0.2423

Learning rate model

## Mixed Model Anova Table (Type 3 tests, S-method)
## 
## Model: estimate ~ age_z * valence * agency + (1 | subject_id)
## Data: learning_rates
##                 Effect        df         F p.value
## 1                age_z 1, 148.00    5.38 *    .022
## 2              valence 1, 444.00 11.17 ***   <.001
## 3               agency 1, 444.00      0.10    .753
## 4        age_z:valence 1, 444.00      0.51    .477
## 5         age_z:agency 1, 444.00      0.09    .762
## 6       valence:agency 1, 444.00 28.34 ***   <.001
## 7 age_z:valence:agency 1, 444.00    3.20 +    .074
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '+' 0.1 ' ' 1
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: estimate ~ age_z * valence * agency + (1 | subject_id)
##    Data: data
## 
## REML criterion at convergence: 199.6
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -1.5327 -0.6127 -0.3271  0.2431  3.2261 
## 
## Random effects:
##  Groups     Name        Variance Std.Dev.
##  subject_id (Intercept) 0.008624 0.09287 
##  Residual               0.067885 0.26055 
## Number of obs: 600, groups:  subject_id, 150
## 
## Fixed effects:
##                          Estimate Std. Error         df t value Pr(>|t|)    
## (Intercept)              0.203361   0.013063 148.000000  15.568  < 2e-16 ***
## age_z                   -0.030316   0.013074 148.000000  -2.319   0.0218 *  
## valence1                -0.035555   0.010637 444.000000  -3.343   0.0009 ***
## agency1                  0.003345   0.010637 444.000000   0.314   0.7533    
## age_z:valence1          -0.007579   0.010646 444.000000  -0.712   0.4769    
## age_z:agency1           -0.003219   0.010646 444.000000  -0.302   0.7625    
## valence1:agency1        -0.056629   0.010637 444.000000  -5.324 1.62e-07 ***
## age_z:valence1:agency1  -0.019045   0.010646 444.000000  -1.789   0.0743 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) age_z valnc1 agncy1 ag_z:v1 ag_z:g1 vln1:1
## age_z       0.000                                            
## valence1    0.000  0.000                                     
## agency1     0.000  0.000 0.000                               
## age_z:vlnc1 0.000  0.000 0.000  0.000                        
## age_z:gncy1 0.000  0.000 0.000  0.000  0.000                 
## vlnc1:gncy1 0.000  0.000 0.000  0.000  0.000   0.000         
## ag_z:vln1:1 0.000  0.000 0.000  0.000  0.000   0.000   0.000
## 
##  Paired t-test
## 
## data:  model_params$alphaPosChoice and model_params$alphaNegChoice
## t = 6.9666, df = 149, p-value = 9.73e-11
## alternative hypothesis: true mean difference is not equal to 0
## 95 percent confidence interval:
##  0.1320728 0.2366607
## sample estimates:
## mean difference 
##       0.1843667
## 
##  Paired t-test
## 
## data:  model_params$alphaPosComp and model_params$alphaNegComp
## t = -1.1108, df = 149, p-value = 0.2685
## alternative hypothesis: true mean difference is not equal to 0
## 95 percent confidence interval:
##  -0.11712714  0.03283236
## sample estimates:
## mean difference 
##     -0.04214739

Plot relations between model parameters and age

LS0tCnRpdGxlOiAiRTIgVm9DIEFuYWx5c2VzIFBhcnQgMzogUkwgQW5hbHlzZXMiCmRhdGU6IDEvOC8yNApvdXRwdXQ6CiAgICBodG1sX2RvY3VtZW50OgogICAgICAgIGRmX3ByaW50OiAncGFnZWQnCiAgICAgICAgdG9jOiB0cnVlCiAgICAgICAgdG9jX2Zsb2F0OgogICAgICAgICAgICBjb2xsYXBzZWQ6IGZhbHNlCiAgICAgICAgICAgIHNtb290aF9zY3JvbGw6IHRydWUKICAgICAgICBudW1iZXJfc2VjdGlvbnM6IGZhbHNlCiAgICAgICAgY29kZV9kb3dubG9hZDogdHJ1ZQogICAgICAgIHNlbGZfY29udGFpbmVkOiB0cnVlCi0tLQoKYGBge3IgY2h1bmsgc2V0dGluZ3MsIGluY2x1ZGUgPSBGQUxTRX0KIyBzZXQgY2h1bmsgc2V0dGluZ3MKa25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBGQUxTRSwgCiAgICAgICAgICAgICAgICAgICAgICBjYWNoZSA9IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gRkFMU0UsCiAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nID0gRkFMU0UpCmtuaXRyOjpvcHRzX2NodW5rJHNldChkcGk9NjAwKQprbml0cjo6b3B0c19rbml0JHNldChyb290LmRpciA9IHJwcm9qcm9vdDo6ZmluZF9yc3R1ZGlvX3Jvb3RfZmlsZSgpKQpgYGAKCmBgYHtyIGxvYWQgbGlicmFyaWVzLCBpbmNsdWRlID0gRn0KCiNsb2FkIGxpYnJhcmllcwpsaWJyYXJ5KHRpZHl2ZXJzZSkKbGlicmFyeShnbHVlKQpsaWJyYXJ5KGFmZXgpCmxpYnJhcnkobGF0ZXgyZXhwKQoKI2xvYWQgc2NyaXB0cwpzb3VyY2UoJ2FuYWx5c2lzX3NjcmlwdHMvdm9jX2Z1bmN0aW9ucy5SJykKYGBgCgpgYGB7ciBpbXBvcnQgZGF0YX0KIyByZWFkIGluIHBhcnRpY2lwYW50IGFnZXMKcGFydGljaXBhbnRfYWdlcyA8LSByZWFkX2NzdignZGF0YS92b2Nfc3ViX2luZm8uY3N2JykgCgojIyByZWFkIGluIGFpY3MKYWljcyA9IHJlYWRfY3N2KCJSTF9tb2RlbGluZy9vdXRwdXQvYWljc19hbGxfMTZfbW9kZWxzXzEwMGl0ZXIuY3N2IikgJT4lCiAgcmVuYW1lKHN1YmplY3RfaWQgPSBzdWJJRCkKCiMgY29tYmluZSB3aXRoIGFnZXMKYWljcyA8LSBpbm5lcl9qb2luKGFpY3MsIHBhcnRpY2lwYW50X2FnZXMsIGJ5ID0gJ3N1YmplY3RfaWQnKSAlPiUKICBtdXRhdGUoYWdlX2dyb3VwID0gY2FzZV93aGVuKGFnZSA8IDEzIH4gIkNoaWxkcmVuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFnZSA+IDEyLjk5ICYgYWdlIDwgMTggfiAiQWRvbGVzY2VudHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWdlID4gMTcuOTkgfiAiQWR1bHRzIikpCgphaWNzJGFnZV9ncm91cCA8LSBmYWN0b3IoYWljcyRhZ2VfZ3JvdXAsIGxldmVscyA9IGMoIkNoaWxkcmVuIiwgIkFkb2xlc2NlbnRzIiwgIkFkdWx0cyIpKQogICAgICAgICAKCiNwaXZvdCBsb25nZXIKbW9kZWxfcmVzdWx0cyA8LSBwaXZvdF9sb25nZXIoYWljcywgCiAgICAgICAgICAgICAgICAgICAgICBjb2xzID0gb25lQWxwaGFfb25lQmV0YTpmb3VyQWxwaGFfdHdvQmV0YV9hZ2VuY3lCb251cywKICAgICAgICAgICAgICAgICAgICAgIG5hbWVzX3RvID0gIm1vZGVsIiwKICAgICAgICAgICAgICAgICAgICAgIHZhbHVlc190byA9ICJBSUMiKQoKCm1vZGVsX3Jlc3VsdHMkbW9kZWwgPC0gZmFjdG9yKG1vZGVsX3Jlc3VsdHMkbW9kZWwsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbHMgPSBjKCJvbmVBbHBoYV9vbmVCZXRhIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib25lQWxwaGFfdHdvQmV0YSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR3b0FscGhhX29uZUJldGEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0d29BbHBoYV90d29CZXRhIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHdvQWxwaGFWYWxlbmNlZF9vbmVCZXRhIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHdvQWxwaGFWYWxlbmNlZF90d29CZXRhIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZm91ckFscGhhX29uZUJldGEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmb3VyQWxwaGFfdHdvQmV0YSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9uZUFscGhhX29uZUJldGFfYWdlbmN5Qm9udXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvbmVBbHBoYV90d29CZXRhX2FnZW5jeUJvbnVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHdvQWxwaGFfb25lQmV0YV9hZ2VuY3lCb251cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR3b0FscGhhX3R3b0JldGFfYWdlbmN5Qm9udXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0d29BbHBoYVZhbGVuY2VkX29uZUJldGFfYWdlbmN5Qm9udXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0d29BbHBoYVZhbGVuY2VkX3R3b0JldGFfYWdlbmN5Qm9udXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmb3VyQWxwaGFfb25lQmV0YV9hZ2VuY3lCb251cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvdXJBbHBoYV90d29CZXRhX2FnZW5jeUJvbnVzIikpCm1vZGVsX3Jlc3VsdHMgPC0gbW9kZWxfcmVzdWx0cyAlPiUKICBtdXRhdGUoYWdlbmN5Qm9udXMgPSBjYXNlX3doZW4oc3RyX2RldGVjdChtb2RlbCwgImFnZW5jeSIpIH4gIldpdGggQWdlbmN5IEJvbnVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXN0cl9kZXRlY3QobW9kZWwsICJhZ2VuY3kiKSB+ICJObyBBZ2VuY3kgQm9udXMiKSwKICAgICAgICAgc2hvcnROYW1lID0gc3RyX3JlbW92ZShtb2RlbCwgJ19hZ2VuY3lCb251cycpKQoKbW9kZWxfcmVzdWx0cyRzaG9ydE5hbWUgPC0gZmFjdG9yKG1vZGVsX3Jlc3VsdHMkc2hvcnROYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWxzID0gYygib25lQWxwaGFfb25lQmV0YSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvbmVBbHBoYV90d29CZXRhIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR3b0FscGhhX29uZUJldGEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHdvQWxwaGFfdHdvQmV0YSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0d29BbHBoYVZhbGVuY2VkX29uZUJldGEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHdvQWxwaGFWYWxlbmNlZF90d29CZXRhIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvdXJBbHBoYV9vbmVCZXRhIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvdXJBbHBoYV90d29CZXRhIikpCmBgYAoKIyAgQUlDIGF2ZXJhZ2UgYnkgYWdlIGdyb3VwIApgYGB7ciBwbG90IEFJQyBieSBhZ2UgZ3JvdXAsIGZpZy53aWR0aCA9IDgsIGZpZy5oZWlnaHQgPSA1LCB1bml0cyA9ICJpbiJ9CiNzdW1tYXJpemUKbW9kZWxfc3VtbWFyeSA8LSBtb2RlbF9yZXN1bHRzICU+JQogIGdyb3VwX2J5KGFnZV9ncm91cCwgc2hvcnROYW1lLCBhZ2VuY3lCb251cykgJT4lCiAgc3VtbWFyaXplKG1lYW5fYWljID0gbWVhbihBSUMpKQoKIyMgUGxvdCB0aGUgcmVzdWx0cyBieSBhZ2UgZ3JvdXAgCkFJQ19hZ2VfcGxvdCA8LSBnZ3Bsb3QobW9kZWxfc3VtbWFyeSwgYWVzKHggPSBhZ2VfZ3JvdXAsIHkgPSBtZWFuX2FpYywgZmlsbCA9IHNob3J0TmFtZSkpKwogIGZhY2V0X3dyYXAofmFnZW5jeUJvbnVzKSArCiAgZ2VvbV9iYXIoc3RhdCA9ICJpZGVudGl0eSIsIHBvc2l0aW9uID0gImRvZGdlIiwgY29sb3IgPSAiYmxhY2siKSArCiAgc2NhbGVfZmlsbF9tYW51YWwobmFtZSA9ICJNb2RlbCIsCiAgICAgICAgICAgICAgICAgICAgdmFsdWVzID0gYyhjb2xvcjgsIGNvbG9yMSwgY29sb3IyLCBjb2xvcjMsIGNvbG9yNCwgY29sb3I1LCBjb2xvcjYsIGNvbG9yNywgY29sb3IxKSwKICAgICAgICAgICAgICAgICAgICBsYWJlbHMgPSAgYyhUZVgoJyRvbmVcXGFscGhhXFxfb25lXFxiZXRhJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVYKCckb25lXFxhbHBoYVxcX3R3b1xcYmV0YScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRlWCgnJHR3b0Nob2ljZVxcYWxwaGFcXF9vbmVcXGJldGEnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUZVgoJyR0d29DaG9pY2VcXGFscGhhXFxfdHdvXFxiZXRhJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVYKCckdHdvVmFsZW5jZWRcXGFscGhhXFxfb25lXFxiZXRhJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVYKCckdHdvVmFsZW5jZWRcXGFscGhhXFxfdHdvXFxiZXRhJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVYKCckZm91clxcYWxwaGFcXF9vbmVcXGJldGEnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUZVgoJyRmb3VyXFxhbHBoYVxcX3R3b1xcYmV0YScpKSkgKyAKICBjb29yZF9jYXJ0ZXNpYW4oeWxpbSA9IGMoMzUwLCA2NTApKSArCiAgeWxhYigiTWVhbiBBSUMiKSArCiAgeGxhYigiIikgKwogIHZvY190aGVtZSgpICsKICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDYwLCBoanVzdCA9IDEpKQpBSUNfYWdlX3Bsb3QKYGBgCgoKIyAgRXhhbWluZSBhZ2UtcmVsYXRlZCBjaGFuZ2UgaW4gcGFyYW1ldGVyIGVzdGltYXRlcyBmcm9tIG1vZGVscwpgYGB7ciBsb2FkIHBhcmFtZXRlcnMgZnJvbSB3aW5uaW5nIG1vZGVsfQptb2RlbF9wYXJhbXMgPC0gcmVhZF9jc3YoIlJMX21vZGVsaW5nL291dHB1dC9tb2RlbF9maXRzX3JlYWxfZGF0YS9mb3VyQWxwaGFfdHdvQmV0YV9hZ2VuY3lCb251cy5jc3YiLAogICAgICAgICAgICAgICAgICAgICAgICAgY29sX25hbWVzID0gYygibmVnTEwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9nUG9zdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBSUMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQklDIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFscGhhUG9zQ2hvaWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFscGhhTmVnQ2hvaWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFscGhhUG9zQ29tcCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbHBoYU5lZ0NvbXAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmV0YUFnZW5jeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiZXRhTWFjaGluZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhZ2VuY3lCb251cyIpKQoKI2FkZCBzdWIgSUQgYW5kIGluZm9ybWF0aW9uCnN1YmplY3RfaWQgPC0gbW9kZWxfcmVzdWx0cyAlPiUgc2VsZWN0KHN1YmplY3RfaWQpICU+JSB1bmlxdWUoKQptb2RlbF9wYXJhbXMgPC0gYmluZF9jb2xzKHN1YmplY3RfaWQsIG1vZGVsX3BhcmFtcykKbW9kZWxfcGFyYW1zIDwtIGlubmVyX2pvaW4ocGFydGljaXBhbnRfYWdlcywgbW9kZWxfcGFyYW1zLCBieSA9IGMoInN1YmplY3RfaWQiKSkKCmBgYAoKCiMgUnVuIHJlZ3Jlc3Npb25zIGJldHdlZW4gbW9kZWwgcGFyYW1ldGVycyBhbmQgYWdlCmBgYHtyIHBhcmFtZXRlciByZWdyZXNzaW9uc30KbW9kZWxfcGFyYW1zJExMIDwtIG1vZGVsX3BhcmFtcyRuZWdMTCAqIC0xCgojIExvZyBsaWtlbGlob29kCnN1bW1hcnkobG0oTEwgfiBhZ2UsIGRhdGEgPSBtb2RlbF9wYXJhbXMpKQojIG5vdCBzaWduaWZpY2FudAoKIyBBbHBoYSBQb3MgQ2hvaWNlCnN1bW1hcnkobG0oYWxwaGFQb3NDaG9pY2UgfiBhZ2UsIGRhdGEgPSBtb2RlbF9wYXJhbXMpKQojbm90IHNpZ25pZmljYW50CgojIEFscGhhIE5lZyBDaG9pY2UKc3VtbWFyeShsbShhbHBoYU5lZ0Nob2ljZSB+IGFnZSwgZGF0YSA9IG1vZGVsX3BhcmFtcykpCiMgc2lnbmlmaWNhbnQKCiMgQWxwaGEgUG9zIENvbXAKc3VtbWFyeShsbShhbHBoYVBvc0NvbXAgfiBhZ2UsIGRhdGEgPSBtb2RlbF9wYXJhbXMpKQojbm90IHNpZ25pZmljYW50CgojIEFscGhhIE5lZyBDb21wCnN1bW1hcnkobG0oYWxwaGFOZWdDb21wIH4gYWdlLCBkYXRhID0gbW9kZWxfcGFyYW1zKSkKI25vdCBzaWduaWZpY2FudAoKIyBCZXRhIEFnZW5jeQpzdW1tYXJ5KGxtKGJldGFBZ2VuY3kgfiBhZ2UsIGRhdGEgPSBtb2RlbF9wYXJhbXMpKQojIHNpZ25pZmljYW50CgojIEJldGEgQmFuZGl0CnN1bW1hcnkobG0oYmV0YU1hY2hpbmUgfiBhZ2UsIGRhdGEgPSBtb2RlbF9wYXJhbXMpKQojIG5vdCBzaWduaWZpY2FudAoKIyBhZ2VuY3kgYm9udXMKc3VtbWFyeShsbShhZ2VuY3lCb251cyB+IGFnZSwgZGF0YSA9IG1vZGVsX3BhcmFtcykpCiMgbm90IHNpZ25pZmljYW50CgpgYGAKCiMgTGVhcm5pbmcgcmF0ZSBtb2RlbApgYGB7ciBsZWFybmluZyByYXRlIHJlZ3Jlc3Npb259CiMjIExlYXJuaW5nIHJhdGUgbW9kZWwKbGVhcm5pbmdfcmF0ZXMgPC0gbW9kZWxfcGFyYW1zICU+JQogIHBpdm90X2xvbmdlcihjb2xzID0gYyhhbHBoYVBvc0Nob2ljZTphbHBoYU5lZ0NvbXApLAogICAgICAgICAgICAgICBuYW1lc190byA9ICJsZWFybmluZ1JhdGUiLAogICAgICAgICAgICAgICB2YWx1ZXNfdG8gPSAiZXN0aW1hdGUiKSAlPiUKICBzZWxlY3Qoc3ViamVjdF9pZCwgYWdlLCBsZWFybmluZ1JhdGUsIGVzdGltYXRlKSAlPiUKICB1bmlxdWUoKSAlPiUKICBtdXRhdGUodmFsZW5jZSA9IGNhc2Vfd2hlbihzdHJfZGV0ZWN0KGxlYXJuaW5nUmF0ZSwgIlBvcyIpIH4gIlBvc2l0aXZlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJfZGV0ZWN0KGxlYXJuaW5nUmF0ZSwgIk5lZyIpIH4gIk5lZ2F0aXZlIiksCiAgICAgICAgIGFnZW5jeSA9IGNhc2Vfd2hlbihzdHJfZGV0ZWN0KGxlYXJuaW5nUmF0ZSwgIkNob2ljZSIpIH4gIkNob2ljZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJfZGV0ZWN0KGxlYXJuaW5nUmF0ZSwgIkNvbXAiKSB+ICJDb21wIikpCgpsZWFybmluZ19yYXRlcyRhZ2VfeiA8LSBzY2FsZV90aGlzKGxlYXJuaW5nX3JhdGVzJGFnZSkKCmxlYXJuaW5nX3JhdGVfbW9kZWwgPC0gbWl4ZWQoZXN0aW1hdGUgfiBhZ2VfeiAqIHZhbGVuY2UgKiBhZ2VuY3kgKyAoMXxzdWJqZWN0X2lkKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhID0gbGVhcm5pbmdfcmF0ZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kID0gIlMiKQpsZWFybmluZ19yYXRlX21vZGVsCnN1bW1hcnkobGVhcm5pbmdfcmF0ZV9tb2RlbCkKIyBtYWluIGVmZmVjdCBvZiBhZ2UKIyBtYWluIGVmZmVjdCBvZiB2YWxlbmNlCiMgdmFsZW5jZSB4IGFnZW5jeSBpbnRlcmFjdGlvbgoKCiN0IHRlc3QgYmV0d2VlbiBhbHBoYSBwb3MgY2hvaWNlIGFuZCBhbHBoYSBuZWcgY2hvaWNlCnQudGVzdChtb2RlbF9wYXJhbXMkYWxwaGFQb3NDaG9pY2UsIG1vZGVsX3BhcmFtcyRhbHBoYU5lZ0Nob2ljZSwgcGFpcmVkID0gVCkKI3NpZ25pZmljYW50CgojdCB0ZXN0IGJldHdlZW4gYWxwaGEgcG9zIGNvbXAgYW5kIGFscGhhIG5lZyBjb21wCnQudGVzdChtb2RlbF9wYXJhbXMkYWxwaGFQb3NDb21wLCBtb2RlbF9wYXJhbXMkYWxwaGFOZWdDb21wLCBwYWlyZWQgPSBUKQojbm90IHNpZ25pZmljYW50CgpgYGAKCgojIFBsb3QgcmVsYXRpb25zIGJldHdlZW4gbW9kZWwgcGFyYW1ldGVycyBhbmQgYWdlCmBgYHtyIGFnZSBwYXJhbWV0ZXIgcGxvdCwgZmlnLndpZHRoID0gNywgZmlnLmhlaWdodCA9IDQsIHVuaXRzID0gImluIn0KCnBhcmFtc19sb25nIDwtIG1vZGVsX3BhcmFtcyAlPiUKICBwaXZvdF9sb25nZXIobmFtZXNfdG8gPSAicGFyYW0iLAogICAgICAgICAgICAgICB2YWx1ZXNfdG8gPSAiZXN0aW1hdGUiLAogICAgICAgICAgICAgICBjb2xzID0gYyhhbHBoYVBvc0Nob2ljZTphZ2VuY3lCb251cykpIAoKcGFyYW1zX2xvbmckcGFyYW0gPC0gZmFjdG9yKHBhcmFtc19sb25nJHBhcmFtLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVscyA9IGMoImFscGhhUG9zQ2hvaWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFscGhhTmVnQ2hvaWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFscGhhUG9zQ29tcCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbHBoYU5lZ0NvbXAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmV0YUFnZW5jeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiZXRhTWFjaGluZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhZ2VuY3lCb251cyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWxzID0gYyhUZVgoIiRcXGFscGhhX3tjaG9pY2VfK30kIiksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUZVgoIiRcXGFscGhhX3tjaG9pY2VfLX0kIiksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUZVgoIiRcXGFscGhhX3tjb21wXyt9JCIpLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVYKCIkXFxhbHBoYV97Y29tcF8tfSQiKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRlWCgiJFxcYmV0YV97YWdlbmN5fSQiKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRlWCgiJFxcYmV0YV97bWFjaGluZX0kIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBZ2VuY3l+Qm9udXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApKQoKcGFyYW1zX3Bsb3QgPC0gZ2dwbG90KHBhcmFtc19sb25nLCBhZXMoeCA9IGFnZSwgeSA9IGVzdGltYXRlLCBjb2xvciA9IHBhcmFtKSkgKwogIGZhY2V0X3dyYXAofnBhcmFtLCBzY2FsZSA9ICJmcmVlIiwgbGFiZWxsZXIgPSBsYWJlbF9wYXJzZWQsIG5yb3cgPSAyKSArCiAgZ2VvbV9wb2ludCgpICsKICBnZW9tX3Ntb290aChtZXRob2QgPSAibG0iLCBhZXMoZmlsbCA9IHBhcmFtKSkgKwogIHlsYWIoIlBhcmFtZXRlciBFc3RpbWF0ZSIpICsKICB4bGFiKCJBZ2UiKSArCiAgdm9jX3RoZW1lKCkgKwogIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbiA9ICJub25lIikKcGFyYW1zX3Bsb3QKYGBgCgoK